Crate crc[−][src]
Expand description
crc
Rust implementation of CRC(8, 16, 32, 64)
Usage
Compute CRC16
use crc::{Crc, Algorithm, CRC_16_IBM_SDLC, CRC_32_ISCSI};
pub const X25: Crc<u16> = Crc::<u16>::new(&CRC_16_IBM_SDLC);
pub const CASTAGNOLI: Crc<u32> = Crc::<u32>::new(&CRC_32_ISCSI);
assert_eq!(X25.checksum(b"123456789"), 0x906e);
assert_eq!(CASTAGNOLI.checksum(b"123456789"), 0xe3069283);
// use custom algorithm
const CUSTOM_ALG: Algorithm<u16> = Algorithm {
poly: 0x8005,
init: 0xffff,
refin: false,
refout: false,
xorout: 0x0000,
check: 0xaee7,
residue: 0x0000
};
let crc = Crc::<u16>::new(&CUSTOM_ALG);
let mut digest = crc.digest();
digest.update(b"123456789");
assert_eq!(digest.finalize(), 0xaee7);
Structs
This struct describes a CRC algorithm using the fields specified by the Catalogue of parametrised CRC algorithms.